Per què els SSD fallen? Raons dels errors de l'SSD.


Per què els SSD fallen?



Els SSD (Solid State Drives) emmagatzemen dades en xips Flash-NAND. Són més ràpids i eficients (almenys això és el que afirmen els fabricants i venedors) que els discos durs. Són silenciosos i consumeixen menys electricitat. Com que emmagatzemen dades en circuits integrats, no necessiten un mecanisme complex, precís i propens a fallades.
La resistència dels SSD a les fallades mecàniques s'ha convertit en un dogma de fiabilitat en els materials de màrqueting. La caiguda dels preus ha fet que els SSD siguin molt populars en els últims anys i, al mateix temps, la realitat ha dissipat brutalment el mite que estan lliures de fracassos. En teoria, és possible construir dispositius electrònics que puguin funcionar sense fallades durant diversos o fins i tot diverses dotzenes d'anys, però a la pràctica no és difícil trobar components informàtics que fallin el primer dia de funcionament. I molt sovint és l'SSD qui es nega a cooperar ja en la fase d'instal·lació del sistema operatiu. Llavors, per què els SSD tenen un índex de fallades tan alt i fins a quin punt poden confiar en ells com a portadors de dades?



Emmagatzematge de dades en SSD



Els transistors de camp NPN modificat - efecte (FET) són els encarregats d'emmagatzemar dades en mitjans de comunicació utilitzant xips Flash-NAND (no només SSD, sinó també pendrives, targetes de memòria i records integrats en dispositius com telèfons intel·ligents). Aquest transistor consisteix en tres elèctrodes - àrees del semiconductor - dos rics en electrons (i per tant carregats negativament, d'aquí la designació "n", per "negatiu"), una font i un drenatge separats per una àrea pobra en electrons (carregat positivament - d'aquí la lletra "p", com "positiu").
En aquests transistors, els electrons són els portadors responsables del flux del corrent. Entre la font i el desguàs hi ha una porta elèctricament aïllada que s'utilitza per controlar el transistor. També hi ha transistors pnp en els quals la font i el desguàs estan carregats positivament i la porta, negativament. No obstant això, aquest tipus de transistors no s'utilitzen en xips flash.
Els transistors d'efecte de camp s'anomenen unipolars perquè el corrent en ells és portat només per portadors majoritaris. Per als transistors npn, aquests són electrons, i per a pnp - els anomenats forats. A més dels transistors unipolars, els transistors bipolars es poden trobar en altres aplicacions, en les quals el corrent elèctric és transportat tant per la majoria com per transportadors minoritaris. Els transistors bipolars també s'anomenen transistors d'unió o de capa.
En camp - efecte transistor, sota la influència d'un camp elèctric (per això el transistor s'anomena "efecte camp"), es crea un canal anomenat n-canal, que permet als electrons fluir entre la font i el drenatge. No obstant això, si apliquem tensió a la porta, el canal n es tanca i el corrent entre la font i el desguàs deixa de fluir. Els transistors en els quals el canal n està obert i es tanca quan s'aplica un voltatge a la porta s'anomenen transistors de canal d'esgotament, i en electrònica també utilitzem transistors de canal enriquit, en els quals aplicar un voltatge a la porta resulta en l'obertura del canal transistor.
Per utilitzar aquest transistor per a l'emmagatzematge de dades no volàtils, era necessari modificar la porta. Estava dividida en una porta de control i, la part més important per emmagatzemar informació, una porta flotant. Una porta flotant és una àrea elèctricament aïllada en la qual es pot acumular una càrrega elèctrica, que es manté després que el dispositiu es desconnecti de la font d'alimentació.
I d'això és del que tracta l'emmagatzematge de dades, no perdre-ho quan els mitjans de comunicació es desconnecten del subministrament elèctric. Si acumulem una càrrega elèctrica a la porta flotant, aconseguirem l'efecte de tancar el canal n, igual que si haguéssim aplicat un voltatge a la porta. Si la porta flotant està buida, el canal n estarà obert i el corrent podrà fluir lliurement entre la font i el desguàs. Per tant, normalment una porta flotant buida s'interpreta com una porta lògica, i una porta carregada tancant el canal n - com un zero lògic.



Dades adreçades a SSD



Des de la perspectiva d'un usuari, estem acostumats a adreçar dades en les estructures lògiques dels sistemes de fitxers. Cada dia utilitzem particions, fitxers i directoris. Si tenim una mica d'interès pels ordinadors, també coneixem els clústers i sectors. Al seu torn, els xips NAND probablement no estan interessats en els ordinadors, perquè no tenen ni idea dels sectors.
Els sectors LBA s'utilitzen en la comunicació entre diversos dispositius i programari. Les unitats SSD accepten ordres per realitzar operacions en adreces LBA específiques i retornar-les a la interfície externa per compatibilitat amb protocols de comunicació com el protocol ATA. No obstant això, la comunicació interna entre el controlador i els sistemes de memòria es realitza d'acord amb l'estàndard ONFI.
Segons aquesta norma, les dades s'aborden en pàgines i blocs. Una pàgina és la unitat mínima de lectura i escriptura (programming). La seva mida correspon a la mida del registre de la pàgina i actualment arriba aproximadament a 16 kB. Sí, és l'equivalent a 32 sectors LBA de 512 B cadascun, que el controlador retalla de la pàgina adequada en resposta a la sol·licitud de l'ordinador. A més dels sectors d'usuaris, la pàgina també conté informació redundant que emmagatzema diversos tipus de dades necessàries per al correcte funcionament de l'SSD. L'estructura per a organitzar les dades de l'usuari i la informació redundant dins d'una pàgina s'anomena format de pàgina. Com sap el responsable quina pàgina està ubicada el sector que busca? El subsistema per traduir adreces lògiques a físiques (FTL - Flash Translation Layer - Capa de traducció del flaix) és el responsable d'això, al qual tornarem unes quantes vegades més tard.
La següent unitat d'adreçament és un bloc de diverses a fins i tot diversos centenars de pàgines. Aquesta és la unitat de supressió mínima de dades. A diferència del medi magnètic, els sistemes Flash no poden sobreescriure directament el contingut anterior. Només podem programar transistors les portes flotants dels quals hagin estat prèviament eliminades - buidades d'electrons. Per tant, els xips nous o completament buits llegits al programador retornen el valor 0xFF. Aquest valor també retorna blocs buits i porcions finals no programades de pàgines si hi ha aquestes àrees no utilitzades en el format de pàgina.



Operacions bàsiques i el seu impacte en el desgast de xips Flash-NAND



Com que en el cas dels xips Flash no tenim la capacitat física de sobreescriure directament el contingut existent, només podem guardar (programa) portes flotants buides de transistors. Per tant, cal donar suport a tres operacions bàsiques: programar el contingut desitjat, llegir-lo i esborrar dades obsoletes. Editar des del costat físic implica llegir el contingut original a la memòria intermèdia, canviar-lo i desar-lo en una ubicació físicament diferent.
Aquí tornem a tocar la Capa de traducció Flash, que ha de registrar la transferència d'adreces LBA a un altre lloc físic i la destinació de la seva ubicació original per a la seva eliminació. Els blocs esborrats es poden utilitzar durant els escrits posteriors i després se'ls assignaran noves adreces LBA apropiades a les taules de traducció. Els xips Flash-NAND estan dissenyats per desgastar-se gradualment. Això té a veure amb la manera com els electrons es col·loquen a les portes flotants en l'operació de programació i s'alliberen durant l'esborrat.
Com que la porta flotant està elèctricament separada de la resta del transistor per un aïllant, si volem col·locar electrons en ell o alliberar-los, han de superar la barrera potencial creada per l'aïllant. Aquesta tasca es realitza normalment utilitzant el fenomen de túnel Fowler-Nordheim conegut per la mecànica quàntica. El túnel de Fowler-Nordheim utilitza les propietats d'ona dels electrons per superar la barrera potencial, però requereix l'ús de voltatges més alts, arribant a diversos o fins i tot fins a 20 V.
Aquesta operació s'associa amb pèrdues d'energia dissipades en forma de calor de treball elèctrica (calor de Joule, que millor coneixem pel funcionament dels xips sobre els quals hem de col·locar els radiadors i dels escalfadors elèctrics) i carrega l'aïllant, provocant el seu dany amb el temps. L'aïllant degradat ja no té càrrega a la porta flotant, la qual cosa fa que els electrons s'escapin i, per tant, fuites de dades.
La lectura consisteix a aplicar una tensió entre la font i el desguàs (comprovem si el canal n està obert o tancat, i per tant indirectament si la porta flotant està buida o carregada). Si el transistor està obert, el controlador ho interpreta com un lògic un, i si està tancat, s'interpreta com a zero. Aquesta operació no carrega l'aïllant de la porta flotant i, per tant, és neutral per a la vida del sistema. És per això que la vida útil dels xips NAND es mesura en el nombre de cicles de programa/esborrat (P/E).



Què et sembla augmentar el nombre de bits emmagatzemats al transistor?



Els xips Flash-NAND eren molt cars en els seus inicis, per la qual cosa no és d'estranyar que els fabricants busquessin una manera de millorar la relació capacitat-preu. Una manera de duplicar la capacitat dels xips era col·locar dos bits de dades en un transistor. Aquest efecte es pot aconseguir carregant la porta flotant a un nivell específic, el que provoca un tancament convenientment controlat del canal n. Per poder emmagatzemar dos bits en un transistor, cal distingir 4 estats lògics (00, 01, 10 i 11), i per tant 4 corresponents a aquests estats flotants de càrrega de porta.
És natural que als comptables els agradés aquesta idea i que els enginyers esperaven desenvolupar encara més la tecnologia multiestatal, però no era tan simple. Col·locar el tercer bit en el transistor ja no duplica la capacitat del xip, sinó que només augmenta a la meitat. Què passa amb els nivells de càrrega del transistor? Sí, encara hem de duplicar el seu número. Si volem col·locar fins a tres bits en un transistor, hem de distingir 8 nivells de càrrega corresponents a valors lògics de 000 a 111. I, per descomptat, afegir cada bit posterior al transistor provoca un augment de la capacitat del sistema en menor i menor mesura, alhora que augmenta exponencialment els nivells de càrrega de la porta flotant distingible requerits.
La deterioració de la relació senyal-soroll resultant de la bretxa cada vegada més petita entre els valors de voltatge que representen els estats lògics posteriors afavoreix els errors de lectura i els errors de bits. El funcionament dels transistors de programació també s'ha de realitzar de forma cada vegada més precisa, perquè els errors també poden ocórrer durant l'escriptura. La introducció d'electrons en portes flotants utilitzant mecànica quàntica no permet una precisió i precisió repetibles. Com a màxim, és possible carregar aquestes portes amb aproximadament el nombre d'electrons necessaris. Això significa que moltes portes flotants contenen càrregues amb valors similars als estats lògics veïns, i alguns representen estats diferents dels previstos.
Teòricament, seria possible respondre a cada error d'escriptura repetint l'operació, però a la pràctica això no és possible. Quan es reprograma una pàgina de milers de bytes, és a dir, desenes de milers de bits, és molt probable que alguns errors tornin a ocórrer durant la següent escriptura. D'aquesta manera es podria esperar que l'operació d'escriptura es completés amb èxit. No oblidem que cada escriptura posterior porta el xip i ens acosta al fracàs final. Per tant, quan el nombre d'errors és acceptablement petit, cal renunciar a lluitar per la perfecció i confiar en les matemàtiques de correcció ECC - Error Correction Code - Codi de correcció d'errors.
Quan els xips que ofereixen emmagatzematge de dos bits en un transistor van ser introduïts al mercat, els sistemes més antics que emmagatzemen un bit de dades per transistor van ser designats SLC (Single Level Cell), mentre que els sistemes amb dos bits per transistor van ser anomenats MLC (Multi Level Cell). Els següents xips que emmagatzemen tres bits en cada transistor són TLC (Triple Level Cell). Els nous xips Flash-NAND disponibles actualment estan marcats com a QLC (Quad Level Cell) i emmagatzemen 4 bits a cada transistor. I com que la designació MLC també s'utilitza genèricament per referir-se a tot tipus de memòries multiestat, alguns venedors menys honestos també utilitzen aquesta abreviatura per designar xips TLC i QLC inferiors.
Col·locar bits d'informació posteriors en el transistor no només redueix la relació senyal-soroll, sinó que també afecta negativament el rendiment i la vida dels xips Flash-NAND. La lectura requereix comparar el voltatge mesurat amb diversos voltatges de referència, la qual cosa requereix temps. La programació també es realitza en diverses etapes, el que resulta no només en un temps d'operació més llarg, sinó també en una major càrrega en aïllants de portes flotants. Com a conseqüència, l'aïllant es degrada més ràpid i la vida útil dels sistemes, que en el cas de la memòria SLC superava els 100.000 operacions de programació/esborrat, per a la memòria MLC cau a un nivell encara raonable de diversos milers de cicles P/E. Per a la memòria TLC, els valors declarats pels fabricants es troben normalment dins del rang de 3-5 mil cicles, però els sistemes més febles d'aquesta classe resisteixen només uns 1.500 cicles. En el cas dels últims records de QLC, la seva vida útil es redueix a diversos centenars (normalment al voltant de 600 operacions de programació).
A causa de la dràstica disminució de la durabilitat dels xips NAND, els fabricants recorren a un truc de màrqueting de substituir informació sobre els recursos de les operacions de programació/esborrat amb el paràmetre TBW (Total Bytes Written). La informació que un SSD d'1 TB té un TBW d'1,5 PB sens dubte despertarà molta més confiança que els sistemes utilitzats en ell tinguin una vida útil d'un miler i mig de cicles P/E. Podem calcular aquesta vida útil dividint el paràmetre TBW per la capacitat dels mitjans. I no oblidem que la unitat mínima d'enregistrament és una pàgina, sovint de 8 o 16 kB, de manera que normalment perdem aquests bytes escrits molt més ràpid del que podria semblar a primera vista.
Malgrat els problemes de creixement exponencial relacionats amb l'ocurrència d'errors de bits i la vida útil dels xips, alguns fabricants ja anuncien la introducció de sistemes que emmagatzemen 5 bits en cada transistor, que s'han de marcar amb el símbol PLC. Els xips PLC haurien de distingir 25=32 nivells de càrrega. Amb un voltatge d'alimentació nominal de 3,3 V, això significarà la necessitat de distingir els estats lògics subsegüents cada 0,1 V. Al mateix temps, és difícil esperar que la vida d'aquests sistemes superi les 100 operacions de programació/esborrat. Per a un medioma regravable, això no és gaire.



Reduir la mida del transistor.



Això ha ocorregut des de l'inici de l'electrònica moderna: es van fer esforços per reduir la grandària dels components fins i tot abans de l'aparició dels circuits integrats. Reduir el procés litogràfic permet produir circuits integrats cada vegada més barats, més petits, menys consumibles d'energia, menys generadors de calor i, alhora, més i més eficients amb un major grau d'integració. Aquest procés també s'aplica als xips flash. Si reduïm la mida dels transistors, podem arrossegar més d'ells a un paquet de circuit integrat amb dimensions estandarditzades, i així augmentar la seva capacitat.
Però aquest procés no es pot desenvolupar fins a l'infinit. Aquí ens enfrontem a limitacions en la forma de la mida física dels àtoms. Per exemple, un àtom de silici (Si) té un diàmetre de menys d'un quart de nanòmetre. En el cas dels transistors amb mides de diversos nm, és molt difícil transferir la seva producció de laboratoris a condicions de fàbrica de producció en massa.
Un altre obstacle per reduir la mida dels transistors és la necessitat d'utilitzar llum amb longituds d'ona cada vegada més curtes en el procés litogràfic. Ja es requereix utilitzar rangs de longitud d'ona amb prou feines dins dels límits de l'ultraviolat extrem. Si els transistors es fan més petits, serà necessari utilitzar raigs X. L'ús d'ones de freqüència cada vegada més altes també requereix un entorn cada vegada més net. Per tant, els processos de fabricació mitjançant ultraviolat profund s'han de dur a terme en condicions de buit.
Aquest problema també l'experimenten els fabricants de processadors, que tenen cada vegada més dificultats per a complir les expectatives del mercat a causa de les dificultats de producció i a grans quantitats de residus. La Llei de Moore, que durant dècades va afirmar que el nombre de transistors en un xip es duplica cada any i mig, ha estat corregit recentment. Actualment s'assumeix que el nombre de transistors en un xip es duplica cada dos anys. És possible que la Llei de Moore aviat deixi de treballar per complet.
Reduir la mida d'un transistor també significa reduir la mida dels seus components, inclòs el gruix de la capa aïllant i el volum de la porta flotant. El gruix de l'aïllant afecta la seva durabilitat i eficàcia en la retenció de la càrrega acumulada a la porta flotant. Aquests són factors crítics per a l'emmagatzematge fiable de dades. Una capa aïllant massa prima no només es degrada més fàcilment durant les operacions d'esborrament i programació, sinó que també permet que els electrons individuals s'escapin, la qual cosa al seu torn pot conduir a un canvi en l'estat de càrrega fins al punt que quan es llegeixi el contingut s'interpretarà com un estat lògic diferent.
El volum de la porta flotant, o més exactament el nombre d'àtoms que conté, també té un impacte significatiu en l'emmagatzematge d'informació. Els electrons carregats negativament tendeixen a repel·lir-se mútuament. Això significa que, malgrat la seva petita grandària, no es poden ficar a la porta flotant en grans quantitats. Els electrons han d'estar situats a la capa de valència exterior dels àtoms, on per a la majoria dels tipus d'àtoms el seu nombre pot ser d'un màxim de 8 per àtom. Això és una limitació resultant de la mecànica quàntica - la regla de Pauli, que estableix que cada orbital pot contenir un màxim de dos electrons. El silici, del qual es formen transistors, té 4 orbitals d'aquest tipus a la seva capa de valència exterior.
El gruix recomanat de la capa aïllant per a l'emmagatzematge permanent i segur de dades és d'aproximadament 4 nm. En el cas dels xips fets en litografia de 15 nm, cau a aproximadament 2 nm. El nombre d'electrons que es poden emmagatzemar a la porta flotant també disminueix de diversos a aproximadament mil. A la pràctica, això significa que en els últims xips TLC i QLC, l'escapament d'unes poques dotzenes d'electrons provoca la lectura d'un estat lògic incorrecte. I els electrons s'escapen més fàcilment com més prim sigui l'aïllant. Per tant, no hauria de sorprendre'ns que la taxa de fallada més alta es produeixi en sistemes fets en litografia inferior a 20 nm, que al mateix temps emmagatzemen tres o quatre bits en un transistor.



3D-NAND.



Una altra manera d'augmentar la capacitat dels xips NAND és apilar transistors en múltiples capes una per sobre de l'altra. Gràcies a això, es pot multiplicar la capacitat de memòria sense augmentar la superfície del xip. Aquesta solució va aparèixer relativament recentment, encara que podria semblar que la idea en si és tan trivial que hauria d'haver aparegut fa molt temps. Doncs bé, aquesta solució no està exempta d'inconvenients.
El primer problema és la inducció entre transistors adjacents. També es va produir en xips planars bidimensionals, causant l'aparició de capacitats parasitàries i resultant en el risc d'errors de bits. Què passa quan apareixen capes posteriors al xip? A més de la inducció de les càrregues acumulades en transistors adjacents en el pla, hi ha una inducció addicional de les càrregues situades en les capes superiors i inferiors.
Un altre problema és l'esmentada calor de Joule emesa, especialment durant l'operació d'esborrar i programar les dades. Ja sabem que promou la degradació de l'aïllant de portes flotants. Per tant, haurien d'alliberar-se en el medi ambient al més aviat possible.
La taxa d'alliberament de calor depèn de molts factors, el més important dels quals és la superfície d'alliberament de calor. És per això que els millors dissipadors de calor tenen moltes làmines primes que donen una gran superfície. I amb l'ajuda d'un radiador podem augmentar la superfície de dissipació de calor des del xip. Però en el cas dels xips multicapa, el quid de la qüestió és evitar l'acumulació de calor dins del xip i eliminar-lo adequadament entre les capes.
Tots dos problemes augmenten a mesura que augmenta el nombre de capes i disminueix l'espaiat entre les capes. El camp electromagnètic disminueix amb el quadrat de la distància, de manera que com més petites siguin les distàncies entre transistors, més fortes seran les interaccions inductives entre les càrregues emmagatzemades en ells. Les interaccions tèrmiques també són més destructives quan es redueix la mida dels objectes col·locats en l'estructura de silici dels sistemes.



El mecanisme de fallada més comú dels portadors de dades de semiconductors.



Ja sabem que durant el funcionament dels xips Flash-NAND es desgasten, que és la principal causa d'errors de bits. Normalment, quan el nombre d'errors de bits excedeix la capacitat de corregir-los amb codis ECC, un bloc donat es considera danyat, es registra a la llista de defectes i s'exclou de l'operació posterior. Fins fa poc, els algorismes de gestió de defectes eren tan efectius que pràcticament no hi havia situacions en què es produïssin senyals d'alerta com problemes de lectura i danys a fitxers o estructures lògiques abans d'un fracàs. Tot i això, les fallades solen ocórrer de sobte - l'ordinador es reinicia de sobte o no carrega el sistema operatiu després de l'inici, i un moment de diagnòstic permet determinar que la BIOS no veu l'SSD o el reconeix sota algun nom estrany i amb una capacitat zero o sospitosament baixa.
Això es deu al fet que no només els blocs que emmagatzemen informació de l'usuari estan desgastats i danyats, sinó també els blocs que contenen taules de traducció que són importants per a una correcte adreçament de dades. Si el problema afecta les entrades d'aquestes taules, no és possible assignar correctament adreces lògiques a les adreces físiques apropiades i el controlador no és capaç de construir correctament una imatge d'estructures lògiques o proporcionar accés als fitxers d'usuari. Si es produeixen errors en aquesta part (o qualsevol altra important) del microprogramari, el controlador impedeix l'accés als xips NAND. En lloc del model SSD, en resposta a la sol·licitud de la BIOS de presentar l'identificador, es manté en un estat ocupat (suspès) o l'anomenat passaport tecnològic (p. ex. SATAFIRM S11), i en lloc de la capacitat de tot el disc SSD, li agrada retornar la capacitat d'alguna memòria intermèdia disponible.